﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Tradex.Connectivity {
    
    /// <summary>
    /// This is the controlling interface for the ConnectorName User Interface that can be started with / using the 
    /// "/Interface" command line option on a wrapper. It allows to see what a connector does. The interface is
    /// responsible for not blocking on calls to this interface more than a split second, and to ensure that 
    /// calls to this interface are properly marshalled - they are basically coming from either a non user
    /// interface thread.
    /// </summary>
    public interface IConnectorUserInterface {

        /// <summary>
        /// Starts the user interface in a separate thread.
        /// </summary>
        void Start();

        /// <summary>
        /// Stop the user interface.
        /// </summary>
        void Stop();

        /// <summary>
        /// Connects the user interfaace to an Api and a host.
        /// </summary>
        /// <param name="api"></param>
        /// <param name="host"></param>
        void Connect(ConnectorApi api, ConnectorApiHost host);

    }

}
